6单选第5题中的caller函数对应的机器级代码如下:1pushl%ebp2movl%esp,%ebp3subl$24,%esp4movl$100,-12(%ebp)5movl$200,-8(%ebp)6movl-8(%ebp),%eax7movl%eax,4(%esp)8movl-12(%ebp),%eax9movl%eax,(%esp)10calladd11movl%eax,-4(%ebp)12movl-4(%ebp),%eax13leave14ret假定caller的调用过程为P,对于上述指令序列,以下叙述中错误的是()。
A.第1条指令将过程P的EBP内容压入caller栈帧
B.第3条指令将栈指针ESP向高地址方向移动,以生成当前栈帧
C.从上述指令序列可看出,caller函数没有使用被调用者保存寄存器
D.第2条指令使BEP内容指向caller栈帧的底部
7单选对于第5题的caller函数以及第6题给出的对应机器级代码,以下叙述中错误的是()。
A.变量t1和t2的有效地址分别为R[ebp]-12和R[ebp]-8
B.参数t1和t2的有效地址分别为R[esp]和R[esp]+4
C.参数t1所在的地址低(或小)于参数t2所在的地址
D.变量t1所在的地址高(或大)于变量t2所在的地址
8单选以下有关递归过程调用的叙述中,错误的是()。
A.递归过程第一个参数的有效地址为R[ebp]+8
B.每次递归调用都会生成一个新的栈帧,因而空间开销大
C.可能需要执行递归过程很多次,因而时间开销大
D.每次递归调用在栈帧中保存的返回地址都不相同
9单选以下关于if(cond_expr)then_statementelseelse_statement选择结构对应的机器级代码表示的叙述中,错误的是()。
A.对应then_statement的代码一定在对应else_statement的代码之前
B.计算cond_expr的代码段一定在条件转移指令之前
C.一定包含一条条件转移指令(分支指令)
D.一定包含一条无条件转移指令
10单选以下关于循环结构语句的机器级代码表示的叙述中,错误的是()。
A.循环结束条件通常用一条比较指令CMP来实现
B.一定至少包含一条条件转移指令
C.循环体内执行的指令不包含条件转移指令
D.不一定包含无条件转移指令
计算机系统基础(一):程序的表示、转换与链接
南京大学
军职在线答案
大学网课